package com.power.sifa.approve.model.doc;

import cn.hutool.core.util.ObjectUtil;
import com.power.sifa.approve.model.enumeration.Tp_procmaterial;
import lombok.Data;
import org.springframework.stereotype.Component;



/**
 * @ClassName AdmreAuditAcceptReplyDoc
 * @Author xiongzw
 * @Date 2023/11/23 13:44
 * @Description // 行政复议答复通知书
 * @Version: 1.0
 **/
@Data
public class AdmreAuditAcceptReplyDoc extends AbstractDoc {

    /**
     * 被申请人
     */
    private String apl_admre_audit_targetname;
    /**
     * 正文
     */
    private String content;

    /**
     * 附件材料名称
     */
    private String annex;


    private final static String CONTENT_TEMPLATE = "    {apl_admre_audit_applyname}不服你机关[{behavior}]{prcode}提出的行政复议申请，本府已于{today}依法受理。根据《中华人民共和国行政复议法》第二十三条的规定，现将行政复议申请书副本发送你机关，" +
            "请你机关自收到行政复议申请书副本之日起十日内，对该行政复议申请提出书面答复，并提交当初作出该行政行为的证据、依据和其他有关材料（纸质版一式贰份，另将行政复议答复书及证据、依据和其他有关材料扫描电子版通过赣政通发送至行政复议办公室，联系电话：xxx）。逾期未提交书面答复，未提交当初作出行政行为的证据、依据和其他有关材料的，视为该行政行为没有证据、依据，本府将依法予以撤销或者确认违法。";

    private final static String ANNEX_TEMPLATE = "附件：行政复议申请书副本及相关材料";

    public AdmreAuditAcceptReplyDoc() {
        super();
        this.setDocType(Tp_procmaterial.ADMRE_REPLY);
    }

    public AdmreAuditAcceptReplyDoc(String applyid) {
        super(applyid);
        this.setDocType(Tp_procmaterial.ADMRE_REPLY);
    }

    public AdmreAuditAcceptReplyDoc(String applyid, String apl_admre_audit_targetname, String content, String annex) {
        super(applyid);
        this.setDocType(Tp_procmaterial.ADMRE_REPLY);
        this.apl_admre_audit_targetname = apl_admre_audit_targetname;
        this.content = content;
        this.annex = annex;
    }

    @Override
    public AbstractDoc generateTemplate(String applyid) {
        AdmreAuditAcceptReplyDoc template = new AdmreAuditAcceptReplyDoc(applyid);
        // 案号
        template.setApl_admre_audit_code(this.getApl_admre_audit_code());
        template.setApl_admre_audit_targetname(ObjectUtil.isNotNull(this.getAdmreObj()) ? this.getAdmreObj().getTargetname() : "");
        String content = CONTENT_TEMPLATE.replace("{apl_admre_audit_applyname}",
                ObjectUtil.isNotNull(this.getAdmreObj()) ? this.getAdmreObj().getApplyname() : "" );
        content = content.replace("{behavior}", this.transBehavior());
        content = content.replace("{prcode}", this.transPrcode());
        content = content.replace("{today}", this.transModelToday(Boolean.FALSE));
        template.setContent(content);
        template.setAnnex(ANNEX_TEMPLATE);
        return template;
    }
}
